<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" dir="ltr" class="client-nojs">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>C++ concepts: UnorderedAssociativeContainer - cppreference.com</title>
<meta charset="UTF-8">
<meta name="generator" content="MediaWiki 1.21.2">


<link rel="shortcut icon" href="../../../favicon.ico">



<link rel="stylesheet" href="../../../common/ext.css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" href="../../../common/site_modules.css">
<style>a:lang(ar),a:lang(ckb),a:lang(fa),a:lang(kk-arab),a:lang(mzn),a:lang(ps),a:lang(ur){text-decoration:none}#toc{display:none}.editsection{display:none}
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-css:7:472787eddcf4605d11de8c7ef047234f */</style>

<script src="../../../common/startup_scripts.js"></script>
<script>if(window.mw){
mw.config.set({"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"cpp/concept/UnorderedAssociativeContainer","wgTitle":"cpp/concept/UnorderedAssociativeContainer","wgCurRevisionId":77322,"wgArticleId":14046,"wgIsArticle":true,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Todo with reason"],"wgBreakFrames":false,"wgPageContentLanguage":"en","wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgMonthNamesShort":["","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"wgRelevantPageName":"cpp/concept/UnorderedAssociativeContainer","wgRestrictionEdit":[],"wgRestrictionMove":[]});
}</script><script>if(window.mw){
mw.loader.implement("user.options",function(){mw.user.options.set({"ccmeonemails":0,"cols":80,"date":"default","diffonly":0,"disablemail":0,"disablesuggest":0,"editfont":"default","editondblclick":0,"editsection":0,"editsectiononrightclick":0,"enotifminoredits":0,"enotifrevealaddr":0,"enotifusertalkpages":1,"enotifwatchlistpages":0,"extendwatchlist":0,"externaldiff":0,"externaleditor":0,"fancysig":0,"forceeditsummary":0,"gender":"unknown","hideminor":0,"hidepatrolled":0,"imagesize":2,"justify":0,"math":1,"minordefault":0,"newpageshidepatrolled":0,"nocache":0,"noconvertlink":0,"norollbackdiff":0,"numberheadings":0,"previewonfirst":0,"previewontop":1,"quickbar":5,"rcdays":7,"rclimit":50,"rememberpassword":0,"rows":25,"searchlimit":20,"showhiddencats":0,"showjumplinks":1,"shownumberswatching":1,"showtoc":0,"showtoolbar":1,"skin":"cppreference2","stubthreshold":0,"thumbsize":2,"underline":2,"uselivepreview":0,"usenewrc":0,"watchcreations":0,"watchdefault":0,"watchdeletion":0,
"watchlistdays":3,"watchlisthideanons":0,"watchlisthidebots":0,"watchlisthideliu":0,"watchlisthideminor":0,"watchlisthideown":0,"watchlisthidepatrolled":0,"watchmoves":0,"wllimit":250,"variant":"en","language":"en","searchNs0":true,"searchNs1":false,"searchNs2":false,"searchNs3":false,"searchNs4":false,"searchNs5":false,"searchNs6":false,"searchNs7":false,"searchNs8":false,"searchNs9":false,"searchNs10":false,"searchNs11":false,"searchNs12":false,"searchNs13":false,"searchNs14":false,"searchNs15":false,"gadget-ColiruCompiler":1});;},{},{});mw.loader.implement("user.tokens",function(){mw.user.tokens.set({"editToken":"+\\","patrolToken":false,"watchToken":false});;},{},{});
/* cache key: mwiki1-mwiki_en_:resourceloader:filter:minify-js:7:ca03345b1e2c4d90a25d968753a73b92 */
}</script>
<script>if(window.mw){
mw.loader.load(["mediawiki.page.startup","mediawiki.legacy.wikibits","mediawiki.legacy.ajax"]);
}</script>
<style type="text/css">/*<![CDATA[*/
.source-cpp {line-height: normal;}
.source-cpp li, .source-cpp pre {
	line-height: normal; border: 0px none white;
}
/**
 * GeSHi Dynamically Generated Stylesheet
 * --------------------------------------
 * Dynamically generated stylesheet for cpp
 * CSS class: source-cpp, CSS id: 
 * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann
 * (http://qbnz.com/highlighter/ and http://geshi.org/)
 * --------------------------------------
 */
.cpp.source-cpp .de1, .cpp.source-cpp .de2 {font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;}
.cpp.source-cpp  {font-family:monospace;}
.cpp.source-cpp .imp {font-weight: bold; color: red;}
.cpp.source-cpp li, .cpp.source-cpp .li1 {font-weight: normal; vertical-align:top;}
.cpp.source-cpp .ln {width:1px;text-align:right;margin:0;padding:0 2px;vertical-align:top;}
.cpp.source-cpp .li2 {font-weight: bold; vertical-align:top;}
.cpp.source-cpp .kw1 {color: #0000dd;}
.cpp.source-cpp .kw2 {color: #0000ff;}
.cpp.source-cpp .kw3 {color: #0000dd;}
.cpp.source-cpp .kw4 {color: #0000ff;}
.cpp.source-cpp .co1 {color: #909090;}
.cpp.source-cpp .co2 {color: #339900;}
.cpp.source-cpp .coMULTI {color: #ff0000; font-style: italic;}
.cpp.source-cpp .es0 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es1 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es2 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es3 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es4 {color: #008000; font-weight: bold;}
.cpp.source-cpp .es5 {color: #008000; font-weight: bold;}
.cpp.source-cpp .br0 {color: #008000;}
.cpp.source-cpp .sy0 {color: #008000;}
.cpp.source-cpp .sy1 {color: #000080;}
.cpp.source-cpp .sy2 {color: #000040;}
.cpp.source-cpp .sy3 {color: #000040;}
.cpp.source-cpp .sy4 {color: #008080;}
.cpp.source-cpp .st0 {color: #008000;}
.cpp.source-cpp .nu0 {color: #000080;}
.cpp.source-cpp .nu6 {color: #000080;}
.cpp.source-cpp .nu8 {color: #000080;}
.cpp.source-cpp .nu12 {color: #000080;}
.cpp.source-cpp .nu16 {color:#000080;}
.cpp.source-cpp .nu17 {color:#000080;}
.cpp.source-cpp .nu18 {color:#000080;}
.cpp.source-cpp .nu19 {color:#000080;}
.cpp.source-cpp .ln-xtra, .cpp.source-cpp li.ln-xtra, .cpp.source-cpp div.ln-xtra {background-color: #ffc;}
.cpp.source-cpp span.xtra { display:block; }

/*]]>*/
</style>
<!--[if lt IE 7]><style type="text/css">body{behavior:url("/mwiki/skins/cppreference2/csshover.min.htc")}</style><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr ns-0 ns-subject page-cpp_concept_UnorderedAssociativeContainer skin-cppreference2 action-view cpp-navbar">
        <!-- header -->
        
        <!-- /header -->
        <!-- content -->
        <div id="cpp-content-base">
            <div id="content">
                <a id="top"></a>
                <div id="mw-js-message" style="display:none;"></div>
                                <!-- firstHeading -->
                <h1 id="firstHeading" class="firstHeading">
<span style="font-size:0.7em; line-height:130%">C++ concepts:</span> UnorderedAssociativeContainer</h1>
                <!-- /firstHeading -->
                <!-- bodyContent -->
                <div id="bodyContent">
                                        <!-- tagline -->
                    <div id="siteSub">From cppreference.com</div>
                    <!-- /tagline -->
                                        <!-- subtitle -->
                    <div id="contentSub"><span class="subpages">&lt; <a href="../../cpp.html" title="cpp">cpp</a>‎ | <a href="../concept.html" title="cpp/concept">concept</a></span></div>
                    <!-- /subtitle -->
                                                            <!-- bodycontent -->
                    <div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr">
<div class="t-navbar" style="">
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../../cpp.html" title="cpp"> C++</a><div class="t-navbar-menu"><div>
<div><table class="t-nv-begin" cellpadding="0" style="line-height:1.1em;">
<tr class="t-nv"><td colspan="5"> <a href="../language.1.html" title="cpp/language"> Language</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../header.html" title="cpp/header"> Standard library headers</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../concept.html" title="cpp/concept"> Concepts</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../utility.html" title="cpp/utility"> Utilities library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../string.html" title="cpp/string"> Strings library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../container.html" title="cpp/container"> Containers library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../algorithm.html" title="cpp/algorithm"> Algorithms library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../iterator.html" title="cpp/iterator"> Iterators library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../numeric.html" title="cpp/numeric"> Numerics library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../io.html" title="cpp/io"> Input/output library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../locale.html" title="cpp/locale"> Localizations library</a> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../regex.html" title="cpp/regex"> Regular expressions library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../atomic.html" title="cpp/atomic"> Atomic operations library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../thread.html" title="cpp/thread"> Thread support library</a> <span class="t-mark-rev t-since-cxx11">(C++11)</span> </td></tr>
<tr class="t-nv"><td colspan="5"> <a href="../experimental.html" title="cpp/experimental"> Technical Specifications</a> </td></tr>
</table></div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
<div class="t-navbar-head">
<a href="../concept.html" title="cpp/concept"> C++ concepts</a><div class="t-navbar-menu"><div>
<div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv-h1"><td colspan="5"> Basic</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="DefaultConstructible.html" title="cpp/concept/DefaultConstructible"><span class="t-lines"><span>DefaultConstructible</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="CopyAssignable.html" title="cpp/concept/CopyAssignable"><span class="t-lines"><span>CopyAssignable</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="CopyConstructible.html" title="cpp/concept/CopyConstructible"><span class="t-lines"><span>CopyConstructible</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="MoveAssignable.html" title="cpp/concept/MoveAssignable"><span class="t-lines"><span>MoveAssignable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="MoveConstructible.html" title="cpp/concept/MoveConstructible"><span class="t-lines"><span>MoveConstructible</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="Destructible.html" title="cpp/concept/Destructible"><span class="t-lines"><span>Destructible</span></span></a></div></div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Layout</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="TrivialType.html" title="cpp/concept/TrivialType"><span class="t-lines"><span>TrivialType</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="TriviallyCopyable.html" title="cpp/concept/TriviallyCopyable"><span class="t-lines"><span>TriviallyCopyable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="StandardLayoutType.html" title="cpp/concept/StandardLayoutType"><span class="t-lines"><span>StandardLayoutType</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="PODType.html" title="cpp/concept/PODType"><span class="t-lines"><span>PODType</span></span></a></div></div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Library-Wide</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="EqualityComparable.html" title="cpp/concept/EqualityComparable"><span class="t-lines"><span>EqualityComparable</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="LessThanComparable.html" title="cpp/concept/LessThanComparable"><span class="t-lines"><span>LessThanComparable</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="Swappable.html" title="cpp/concept/Swappable"><span class="t-lines"><span>Swappable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="ValueSwappable.html" title="cpp/concept/ValueSwappable"><span class="t-lines"><span>ValueSwappable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="NullablePointer.html" title="cpp/concept/NullablePointer"><span class="t-lines"><span>NullablePointer</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="Hash.html" title="cpp/concept/Hash"><span class="t-lines"><span>Hash</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="Allocator.html" title="cpp/concept/Allocator"><span class="t-lines"><span>Allocator</span></span></a></div></div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Container</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="Container.html" title="cpp/concept/Container"><span class="t-lines"><span>Container</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="SequenceContainer.html" title="cpp/concept/SequenceContainer"><span class="t-lines"><span>SequenceContainer</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/ContiguousContainer (page does not exist)"><span class="t-lines"><span>ContiguousContainer</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="ReversibleContainer.html" title="cpp/concept/ReversibleContainer"><span class="t-lines"><span>ReversibleContainer</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="AssociativeContainer.html" title="cpp/concept/AssociativeContainer"><span class="t-lines"><span>AssociativeContainer</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="AllocatorAwareContainer.html" title="cpp/concept/AllocatorAwareContainer"><span class="t-lines"><span>AllocatorAwareContainer</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><strong class="selflink"><span class="t-lines"><span>UnorderedAssociativeContainer</span></span></strong></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h2"><td colspan="5"> Container Elements</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="DefaultInsertable.html" title="cpp/concept/DefaultInsertable"><span class="t-lines"><span>DefaultInsertable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="CopyInsertable.html" title="cpp/concept/CopyInsertable"><span class="t-lines"><span>CopyInsertable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="MoveInsertable.html" title="cpp/concept/MoveInsertable"><span class="t-lines"><span>MoveInsertable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="EmplaceConstructible.html" title="cpp/concept/EmplaceConstructible"><span class="t-lines"><span>EmplaceConstructible</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="Eraseable.html" title="cpp/concept/Erasable"><span class="t-lines"><span>Erasable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Iterator</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="Iterator.html" title="cpp/concept/Iterator"><span class="t-lines"><span>Iterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="OutputIterator.html" title="cpp/concept/OutputIterator"><span class="t-lines"><span>OutputIterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="InputIterator.html" title="cpp/concept/InputIterator"><span class="t-lines"><span>InputIterator</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="ForwardIterator.html" title="cpp/concept/ForwardIterator"><span class="t-lines"><span>ForwardIterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="BidirectionalIterator.html" title="cpp/concept/BidirectionalIterator"><span class="t-lines"><span>BidirectionalIterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="RandomAccessIterator.html" title="cpp/concept/RandomAccessIterator"><span class="t-lines"><span>RandomAccessIterator</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/ContiguousIterator (page does not exist)"><span class="t-lines"><span>ContiguousIterator</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Stream I/O</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="FormattedInputFunction.html" title="cpp/concept/FormattedInputFunction"><span class="t-lines"><span>FormattedInputFunction</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="UnformattedInputFunction.html" title="cpp/concept/UnformattedInputFunction"><span class="t-lines"><span>UnformattedInputFunction</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="FormattedOutputFunction.html" title="cpp/concept/FormattedOutputFunction"><span class="t-lines"><span>FormattedOutputFunction</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="UnformattedOutputFunction.html" title="cpp/concept/UnformattedOutputFunction"><span class="t-lines"><span>UnformattedOutputFunction</span></span></a></div></div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Random Numbers</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="SeedSequence.html" title="cpp/concept/SeedSequence"><span class="t-lines"><span>SeedSequence</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/RandomNumberEngine (page does not exist)"><span class="t-lines"><span>RandomNumberEngine</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="RandomNumberDistribution.html" title="cpp/concept/RandomNumberDistribution"><span class="t-lines"><span>RandomNumberDistribution</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="UniformRandomNumberGenerator.html" title="cpp/concept/UniformRandomNumberGenerator"><span class="t-lines"><span>UniformRandomNumberGenerator</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/RandomNumberEngineAdaptor (page does not exist)"><span class="t-lines"><span>RandomNumberEngineAdaptor</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Concurrency</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="BasicLockable.html" title="cpp/concept/BasicLockable"><span class="t-lines"><span>BasicLockable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="Lockable.html" title="cpp/concept/Lockable"><span class="t-lines"><span>Lockable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="TimedLockable.html" title="cpp/concept/TimedLockable"><span class="t-lines"><span>TimedLockable</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="Mutex.html" title="cpp/concept/Mutex"><span class="t-lines"><span>Mutex</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="TimedMutex.html" title="cpp/concept/TimedMutex"><span class="t-lines"><span>TimedMutex</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="SharedMutex.html" title="cpp/concept/SharedMutex"><span class="t-lines"><span>SharedMutex</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx17">(C++17)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="SharedTimedMutex.html" title="cpp/concept/SharedTimedMutex"><span class="t-lines"><span>SharedTimedMutex</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx14">(C++14)</span></span></span></div>
</div></td></tr>
</table></div></td>
</tr>
<tr class="t-nv-h1"><td colspan="5"> Other</td></tr>
<tr class="t-nv-col-table">
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/CharTraits (page does not exist)"><span class="t-lines"><span>CharTraits</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/pos type (page does not exist)"><span class="t-lines"><span>pos_type</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/off type (page does not exist)"><span class="t-lines"><span>off_type</span></span></a></div></div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="Clock.html" title="cpp/concept/Clock"><span class="t-lines"><span>Clock</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table"><div><a href="BitmaskType.html" title="cpp/concept/BitmaskType"><span class="t-lines"><span>BitmaskType</span></span></a></div></div></td></tr>
</table></div></td>
<td><div><table class="t-nv-begin" cellpadding="0" style="">
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/UnaryTypeTrait (page does not exist)"><span class="t-lines"><span>UnaryTypeTrait</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/BinaryTypeTrait (page does not exist)"><span class="t-lines"><span>BinaryTypeTrait</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="http%3A//en.cppreference.com/mwiki/index.php" class="new" title="cpp/concept/TransformationTrait (page does not exist)"><span class="t-lines"><span>TransformationTrait</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="TrivialClock.html" title="cpp/concept/TrivialClock"><span class="t-lines"><span>TrivialClock</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
<tr class="t-nv"><td colspan="5"><div class="t-nv-ln-table">
<div><a href="LiteralType.html" title="cpp/concept/LiteralType"><span class="t-lines"><span>LiteralType</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(C++11)</span></span></span></div>
</div></td></tr>
</table></div></td>
</tr>
</table></div>
<div></div>
</div></div>
</div>
<div class="t-navbar-sep"> </div>
</div>
<p>Unordered associative containers are <a href="Container.html" title="cpp/concept/Container"><code>Container</code>s</a> that provide fast lookup of objects based on keys.
Worst case complexity is linear but on average much faster for most of the operations.
</p>
<p>Unordered associative containers are parametrized by <code><b>Key</b></code>; <code><b>Hash</b></code>, a <a href="Hash.html" title="cpp/concept/Hash"><code>Hash</code></a> function object which acts as hash function on <code><b>Key</b></code>; and <code><b>Pred</b></code>, a <a href="BinaryPredicate.html" title="cpp/concept/BinaryPredicate"><code>BinaryPredicate</code></a> evaluating equivalence between <code><b>Key</b></code>s.
<span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_map.html"><span class="kw1078">std::<span class="me2">unordered_map</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multimap.html"><span class="kw1079">std::<span class="me2">unordered_multimap</span></span></a></span></span> also have a mapped type <code><b>T</b></code> associated with the <code><b>Key</b></code>.
</p>
<p>If two <code><b>Key</b></code>s are equal according to <code><b>Pred</b></code>, <code><b>Hash</b></code> must return the same value for both keys.
</p>
<p><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_map.html"><span class="kw1078">std::<span class="me2">unordered_map</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_set.html"><span class="kw1076">std::<span class="me2">unordered_set</span></span></a></span></span> can contain at most one element with a given key, <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multiset.html"><span class="kw1077">std::<span class="me2">unordered_multiset</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multimap.html"><span class="kw1079">std::<span class="me2">unordered_multimap</span></span></a></span></span> instead can have multiple elements with the same key (which must always be adjacent on iterations).
</p>
<p>For <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_set.html"><span class="kw1076">std::<span class="me2">unordered_set</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multiset.html"><span class="kw1077">std::<span class="me2">unordered_multiset</span></span></a></span></span> the value type is the same as the key type and both <span class="t-c"><span class="mw-geshi cpp source-cpp">iterator</span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp">const_iterator</span></span> are constant iterators.
For <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_map.html"><span class="kw1078">std::<span class="me2">unordered_map</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multimap.html"><span class="kw1079">std::<span class="me2">unordered_multimap</span></span></a></span></span> the value type is <span class="t-c"><span class="mw-geshi cpp source-cpp">std<span class="sy4">::</span><span class="me2">pait</span><span class="sy1">&lt;</span><span class="kw4">const</span> Key, T<span class="sy1">&gt;</span></span></span>.
</p>
<p>Elements in an unordered associative container are organized into buckets, keys with the same hash will end up in the same bucket.
The number of buckets is increased when the size of the container increases to keep the average number of elements in each bucket under a certain value.
</p>
<p>Rehashing invalidates iterator and might cause the elements to be re-arranged in different buckets but it doesn't invalidate references to the elements.
</p>
<p>Unordered associative containers meet the requirements of <a href="AllocatorAwareContainer.html" title="cpp/concept/AllocatorAwareContainer"><code>AllocatorAwareContainer</code></a>.
For <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_map.html"><span class="kw1078">std::<span class="me2">unordered_map</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multimap.html"><span class="kw1079">std::<span class="me2">unordered_multimap</span></span></a></span></span> the requirements of <code>value_type</code> in <a href="AllocatorAwareContainer.html" title="cpp/concept/AllocatorAwareContainer"><code>AllocatorAwareContainer</code></a> apply to <code>key_type</code> and
<code>mapped_type</code> (not to <code>value_type</code>).
</p>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: Requirements">edit</a>]</span> <span class="mw-headline" id="Requirements">Requirements</span>
</h3>
<table class="t-dsc-begin">

<tr>
<td colspan="2"> <h3> <span class="mw-headline" id="Legend">Legend</span>
</h3>
</td>
</tr>

<tr class="t-dsc">
<td> <code><b>X</b></code>
</td>
<td> Container type
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>a</b></code>
</td>
<td> Object of type <code><b>X</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>a</b></code>
</td>
<td> <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span></span></span> Object of type <code><b>X</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>a_uniq</b></code>
</td>
<td> Object in <code><b>X</b></code> when <code><b>X</b></code> supports unique keys
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>a_eq</b></code>
</td>
<td> Object in <code><b>X</b></code> when <code><b>X</b></code> supports multiple equivalent keys
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>i</b></code>, <code><b>j</b></code>
</td>
<td> <a href="InputIterator.html" title="cpp/concept/InputIterator"><code>InputIterator</code>s</a> denoting a valid range
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>p</b></code>, <code><b>q2</b></code>
</td>
<td> valid const_iterator to <code><b>a</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>q</b></code>, <code><b>q1</b></code>
</td>
<td> dereferenceable const_iterator to <code><b>a</b></code> denoting a valid range
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>il</b></code>
</td>
<td> Object of <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../utility/initializer_list.html"><span class="kw806">std::<span class="me2">initializer_list</span></span></a><span class="sy1">&lt;</span>X<span class="sy4">::</span><span class="me2">value_type</span><span class="sy1">&gt;</span></span></span>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>t</b></code>
</td>
<td> Object of type <code><b>X::value_type</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>k</b></code>
</td>
<td> Object of type <code><b>X::key_type</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>hf</b></code>
</td>
<td> <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span></span></span> Object of type <code><b>X::hasher</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>eq</b></code>
</td>
<td> <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">const</span></span></span> Object of type <code><b>X::key_equal</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>n</b></code>
</td>
<td> Value of type <code><b>X::size_type</b></code>
</td>
</tr>


<tr class="t-dsc">
<td> <code><b>z</b></code>
</td>
<td> Value of type <span class="t-c"><span class="mw-geshi cpp source-cpp"><span class="kw4">float</span></span></span>
</td>
</tr>

</table>
<p><br>
</p>
<table class="wikitable">
<tr>
<th>expression</th>
<th>return type</th>
<th>pre/requirements</th>
<th>post/effects</th>
<th>complexity
</th>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">key_type</span></span></span></td>
<td><code><b>Key</b></code></td>
<td> </td>
<td> </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">mapped_type</span></span></span></td>
<td><code><b>T</b></code></td>
<td>
<span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_map.html"><span class="kw1078">std::<span class="me2">unordered_map</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multimap.html"><span class="kw1079">std::<span class="me2">unordered_multimap</span></span></a></span></span> only </td>
<td> </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">value_type</span></span></span></td>
<td><code><b>Key</b></code></td>
<td>
<span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_set.html"><span class="kw1076">std::<span class="me2">unordered_set</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multiset.html"><span class="kw1077">std::<span class="me2">unordered_multiset</span></span></a></span></span> only. <a href="Eraseable.html" title="cpp/concept/Erasable"><code>Erasable</code></a> in <code><b>X</b></code> </td>
<td> </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">value_type</span></span></span></td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../utility/pair.html"><span class="kw904">std::<span class="me2">pair</span></span></a><span class="sy1">&lt;</span><span class="kw4">const</span> Key, T<span class="sy1">&gt;</span></span></span></td>
<td>
<span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_map.html"><span class="kw1078">std::<span class="me2">unordered_map</span></span></a></span></span> and <span class="t-c"><span class="mw-geshi cpp source-cpp"><a href="../container/unordered_multimap.html"><span class="kw1079">std::<span class="me2">unordered_multimap</span></span></a></span></span> only. <a href="Eraseable.html" title="cpp/concept/Erasable"><code>Erasable</code></a> in <code><b>X</b></code> </td>
<td> </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">hasher</span></span></span></td>
<td><code><b>Hash</b></code></td>
<td><a href="Hash.html" title="cpp/concept/Hash"><code>Hash</code></a></td>
<td> </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">key_equal</span></span></span></td>
<td><code><b>Pred</b></code></td>
<td>
<a href="BinaryPredicate.html" title="cpp/concept/BinaryPredicate"><code>BinaryPredicate</code></a> taking two arguments of type <code><b>Key</b></code> and expressing an equivalence relation.</td>
<td> </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">local_iterator</span></span></span></td>
<td>An <a href="Iterator.html" title="cpp/concept/Iterator"><code>Iterator</code></a> whose category and types are the same as <code><b>X::iterator</b></code> </td>
<td> </td>
<td> Can be used to iterate through a single bucket </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="sy4">::</span><span class="me2">const_local_iterator</span></span></span></td>
<td>An <a href="Iterator.html" title="cpp/concept/Iterator"><code>Iterator</code></a> whose category and types are the same as <code><b>X::const_iterator</b></code> </td>
<td> </td>
<td> Can be used to iterate through a single bucket </td>
<td>compile time
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>n,hf,eq<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td>
<code><b>hasher</b></code> and <code><b>key_equel</b></code> <a href="CopyConstructible.html" title="cpp/concept/CopyConstructible"><code>CopyConstructible</code></a> </td>
<td>Constructs an empty container with at least <code><b>n</b></code> buckets, using the given hash function and equality predicate</td>
<td>linear in <code><b>n</b></code>
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>n,hf<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td>
<code><b>hasher</b></code> <a href="CopyConstructible.html" title="cpp/concept/CopyConstructible"><code>CopyConstructible</code></a>, <code><b>key_equel</b></code> <a href="DefaultConstructible.html" title="cpp/concept/DefaultConstructible"><code>DefaultConstructible</code></a> </td>
<td>Constructs an empty container with at least <code><b>n</b></code> buckets, using the given hash function and <code><b>key_equal()</b></code> as equality predicate</td>
<td>linear in <code><b>n</b></code>
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>n,hf<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td>
<code><b>hasher</b></code> and <code><b>key_equel</b></code> <a href="DefaultConstructible.html" title="cpp/concept/DefaultConstructible"><code>DefaultConstructible</code></a> </td>
<td>Constructs an empty container with at least <code><b>n</b></code> buckets, using <code><b>hasher()</b></code> as hash function and <code><b>key_equal()</b></code> as equality predicate</td>
<td>linear in <code><b>n</b></code>
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span><span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td>
<code><b>hasher</b></code> and <code><b>key_equel</b></code> <a href="DefaultConstructible.html" title="cpp/concept/DefaultConstructible"><code>DefaultConstructible</code></a> </td>
<td>Constructs an empty container with an unspecified number of buckets, using <code><b>hasher()</b></code> as hash function and <code><b>key_equal()</b></code> as equality predicate</td>
<td>constant
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>i,j,n,hf,eq<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td>
<code><b>hasher</b></code> and <code><b>key_equel</b></code> <a href="CopyConstructible.html" title="cpp/concept/CopyConstructible"><code>CopyConstructible</code></a>, <code><b>value_type</b></code> <a href="EmplaceConstructible.html" title="cpp/concept/EmplaceConstructible"><code>EmplaceConstructible</code></a> into <code><b>X</b></code> from <code><b>*i</b></code> </td>
<td>Constructs an empty container with at least <code><b>n</b></code> buckets, using the given hash function and equality predicate, and inserts elements from [i,j) into it.</td>
<td>average linear, worst quadratin (on the distance between <code><b>i</b></code> and <code><b>j</b></code>)
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>i,j,n,hf<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td>
<code><b>key_equel</b></code> <a href="DefaultConstructible.html" title="cpp/concept/DefaultConstructible"><code>DefaultConstructible</code></a>
</td>
<td>As above, with <span class="t-c"><span class="mw-geshi cpp source-cpp">eq<span class="sy1">=</span>key_equal<span class="br0">(</span><span class="br0">)</span></span></span>
</td>
<td>see above
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>i,j,n<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td>
<code><b>hasher</b></code> <a href="DefaultConstructible.html" title="cpp/concept/DefaultConstructible"><code>DefaultConstructible</code></a>
</td>
<td>As above, with <span class="t-c"><span class="mw-geshi cpp source-cpp">hf<span class="sy1">=</span>hasher<span class="br0">(</span><span class="br0">)</span></span></span>
</td>
<td>see above
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>i,j<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td> </td>
<td>As above, with an unspecified number of buckets</td>
<td>see above
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td> </td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il.<span class="me1">begin</span><span class="br0">(</span><span class="br0">)</span>,il.<span class="me1">end</span><span class="br0">(</span><span class="br0">)</span></span></span></td>
<td>see above
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il,n<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td> </td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il.<span class="me1">begin</span><span class="br0">(</span><span class="br0">)</span>,il.<span class="me1">end</span><span class="br0">(</span><span class="br0">)</span>,n</span></span></td>
<td>see above
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il,n,hf<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td> </td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il.<span class="me1">begin</span><span class="br0">(</span><span class="br0">)</span>,il.<span class="me1">end</span><span class="br0">(</span><span class="br0">)</span>,n,hf</span></span></td>
<td>see above
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il,n,hf,eq<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td> </td>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>il.<span class="me1">begin</span><span class="br0">(</span><span class="br0">)</span>,il.<span class="me1">end</span><span class="br0">(</span><span class="br0">)</span>,n,hf,eq</span></span></td>
<td>see above
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">X<span class="br0">(</span>b<span class="br0">)</span></span></span></td>
<td><code><b>X</b></code></td>
<td> </td>
<td>Copy constructors, also copies the hash function, predicate and maximum load factor</td>
<td>average linear, worst quadratic (in <code><b>b.size()</b></code>)
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">a <span class="sy1">=</span> b</span></span></td>
<td><code><b>X&amp;</b></code></td>
<td> </td>
<td>Copy assignment, also copies the hash function, predicate and maximum load factor</td>
<td>average linear, worst quadratic (in <code><b>b.size()</b></code>)
</td>
</tr>
<tr>
<td><span class="t-c"><span class="mw-geshi cpp source-cpp">a <span class="sy1">=</span> il</span></span></td>
<td><code><b>X&amp;</b></code></td>
<td>
<code><b>value_type</b></code> <a href="CopyAssignable.html" title="cpp/concept/CopyAssignable"><code>CopyAssignable</code></a> and <a href="CopyInsertable.html" title="cpp/concept/CopyInsertable"><code>CopyInsertable</code></a> into <code><b>X</b></code>
</td>
<td> <span class="t-c"><span class="mw-geshi cpp source-cpp">a <span class="sy1">=</span> X<span class="br0">(</span>il<span class="br0">)</span></span></span>
</td>
<td>see above
</td>
</tr>
</table>
<table class="metadata plainlinks ambox mbox-small-left ambox-notice" style=""><tr>
<td class="mbox-empty-cell"></td>
<td class="mbox-text" style="">This section is incomplete<br>Reason: requirements regarfing member functions </td>
</tr></table>
<h3>
<span class="editsection">[<a href="http%3A//en.cppreference.com/mwiki/index.php" title="Edit section: UnorderedAssociativeContainers in the standard library">edit</a>]</span> <span class="mw-headline" id="UnorderedAssociativeContainers_in_the_standard_library">UnorderedAssociativeContainers in the standard library</span>
</h3>
<table class="t-dsc-begin">

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div">
<div><a href="../container/unordered_set.html" title="cpp/container/unordered set"> <span class="t-lines"><span>unordered_set</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(since C++11)</span></span></span></div>
</div>
</td>
<td>   collection of unique keys, hashed by keys  <br> <span class="t-mark">(class template)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div">
<div><a href="../container/unordered_multiset.html" title="cpp/container/unordered multiset"> <span class="t-lines"><span>unordered_multiset</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(since C++11)</span></span></span></div>
</div>
</td>
<td>   collection of keys, hashed by keys  <br> <span class="t-mark">(class template)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div">
<div><a href="../container/unordered_map.html" title="cpp/container/unordered map"> <span class="t-lines"><span>unordered_map</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(since C++11)</span></span></span></div>
</div>
</td>
<td>   collection of key-value pairs, hashed by keys, keys are unique  <br> <span class="t-mark">(class template)</span> 
</td>
</tr>

<tr class="t-dsc">
<td>  <div class="t-dsc-member-div">
<div><a href="../container/unordered_multimap.html" title="cpp/container/unordered multimap"> <span class="t-lines"><span>unordered_multimap</span></span></a></div>
<div><span class="t-lines"><span><span class="t-mark-rev t-since-cxx11">(since C++11)</span></span></span></div>
</div>
</td>
<td>   collection of key-value pairs, hashed by keys  <br> <span class="t-mark">(class template)</span> 
</td>
</tr>
</table>

<!-- 
NewPP limit report
Preprocessor visited node count: 8059/1000000
Preprocessor generated node count: 12140/1000000
Post‐expand include size: 190378/2097152 bytes
Template argument size: 35232/2097152 bytes
Highest expansion depth: 20/40
Expensive parser function count: 0/100
-->

<!-- Saved in parser cache with key mwiki1-mwiki_en_:pcache:idhash:14046-0!*!0!!*!*!* and timestamp 20150603000458 -->
</div>                    <!-- /bodycontent -->
                                        <!-- printfooter -->
                    <div class="printfooter">
                    Retrieved from "<a href="http%3A//en.cppreference.com/mwiki/index.php">http://en.cppreference.com/mwiki/index.php?title=cpp/concept/UnorderedAssociativeContainer&amp;oldid=77322</a>"                    </div>
                    <!-- /printfooter -->
                                                            <!-- catlinks -->
                    <div id="catlinks" class="catlinks"><div id="mw-normal-catlinks" class="mw-normal-catlinks">
<a href="http%3A//en.cppreference.com/w/Special%3ACategories" title="Special:Categories">Category</a>: <ul><li><a href="http%3A//en.cppreference.com/w/Category%3ATodo_with_reason" title="Category:Todo with reason">Todo with reason</a></li></ul>
</div></div>                    <!-- /catlinks -->
                                                            <div class="visualClear"></div>
                    <!-- debughtml -->
                                        <!-- /debughtml -->
                </div>
                <!-- /bodyContent -->
            </div>
        </div>
        <!-- /content -->
        <!-- footer -->
        
        <!-- /footer -->
        <script>if(window.mw){
mw.loader.state({"site":"loading","user":"missing","user.groups":"ready"});
}</script>
<script src="../../../common/skin_scripts.js"></script>
<script>if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.page.ready","mediawiki.searchSuggest","mediawiki.hidpi","ext.gadget.ColiruCompiler"], null, true);
}</script>
<script src="../../../common/site_scripts.js"></script>

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-2828341-1']);
_gaq.push(['_setDomainName', 'cppreference.com']);
_gaq.push(['_trackPageview']);
</script><!-- Served in 5.888 secs. -->
	</body>
<!-- Cached 20150603000458 -->
</html>
